ORACLE 19c via Docker on Mac安装教程(1/3)

您所在的位置:网站首页 docker 安装oracle rac ORACLE 19c via Docker on Mac安装教程(1/3)

ORACLE 19c via Docker on Mac安装教程(1/3)

2023-08-24 07:49| 来源: 网络整理| 查看: 265

本文共分为三部分PART I:安装ORACLEPART II: 客户端配置 (指路 ➡️   juejin.cn/post/684790…)PART III: 连接Navicat GUI (指路 ➡️   juejin.cn/post/684790…)

PART I:安装ORACLE1.软件安装 docker oracle安装介质(www.oracle.com/database/te…)              - 我选择的是 Linux x86-64 ZIP文件 oracle的docker image             - 打开terminal进入你想下载到的目录             - 依次输入指令$ mkdir ~/oracle $ cd ~/oracle $ git clone https://github.com/oracle/docker-images.git            - 将前一步下载的zip文件移动到相同目录下的对应版本文件夹

$ cp LINUX.X64_193000_db_home.zip ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/2.构建docker镜像

$ cd ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles $ ./buildDockerImage.sh -v 19.3.0 -e 完成上述指令后,可以查看已有镜像(同时还自动构建了Oracle Linux7的镜像)

$ docker image ls docker image的官方完整运行指南 - github.com/oracle/dock… - 或访问本地README文件(注意指令执行的位置)

$ vi docker-images/OracleDatabase/SingleInstance/README.md3.构建该镜像的容器 1)首先创建一个本地文件夹存储oracle的数据文件

$ mkdir -p ~/oracle/oradata/oracle19c 2)在构建容器的时候,系统会自动创建新的数据库,我们使用-v参数来将刚刚创建的目录映射到容器内的数据文件目录中,使这些数据文件存储在本地 - 官方给的运行格式

docker run --name oracle19c \ //oracle19c是你要给你数据库取的名字,之后可以直接用这个启动,而不用每次查id -p 1521:1521 \ //端口 -p 5500:5500 \ -v /Users/Kamus/oracle/oradata/oracle19c:/opt/oracle/oradata \ //映射数据文件到本地 oracle/database:19.3.0-ee //image名称,用image ID也可以(我这里是上图中的c7a5abc178af) - 举例

$ docker run --name oracle19c -p 1521:1521 -p 5500:5500 -v /Users/wyn/oracle/oradata/oracle19c:/opt/oracle/oradata oracle/database:19.3.0-ee 3)然后会运行很长时间,慢慢等…..30 minutes later….. 4)完成以后,不会跳回命令行输入界面,而是停留在log文件,看到以下内容就说明创建完成了

######################### DATABASE IS READY TO USE! ######################### 5)可以检查容器已经在正常运行

$ docker ps | grep oracle4.设置密码

在界面上出现的log内容里,第一行可以看到随机分配的账号初始密码

ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: aPNa4TEcIUf=1 我们也可以直接执行.setPassword.sh文件修改密码

$ docker exec oracle19c ./setPassword.sh oracle 5.运行container

然后就可以开始运行我们的数据库了!!!

- 进入root用户模式(部分操作只能在root用户下进行)

$ docker exec -it --user root oracle19c /bin/bash

linux 命令终端提示符显示-bash-4.2#而不是root@主机名 + 路径的解决方法 ——————————————————————————————————————

问题出现的原因是root在/root下面的几个配置文件丢失,丢失文件如下: 1).bash_profile 2).bashrc 以上这些文件是每个用户都必备的文件。 使用以下命令从主默认文件重新拷贝一份配置信息到/root目录下

$ cp /etc/skel/.bash_profile /root/ $ cp /etc/skel/.bashrc /root/ - 进入普通用户模式

$ docker exec -it oracle19c /bin/bash 6.进入sqlplus

接着就可以进入sqplus执行SQL语句啦

$ sqlplus system/oracle@localhost:1521/ORCLCDB sqlplus: 执行指令 system: 登录用户名(初始还有SYS, PDBADMIN共三个账号) oracle: 登录密码(刚第四步中设置的) localhost: oracle的服务器所在的IP地址 1521: 端口号 ORCLCDB: SID/SNAME

7.可能出现的部分错误集合 1)不知道是不是我自己安装的问题,刚进来跑sqlplus会报错

ERROR: ORA-12162: TNS:net service name is incorrectly specified 这个错误出现的原因是部分变量没有指定值,可以有两种方式解决⚠️注意:首先要查清楚自己系统的对应值是什么,不能乱改 在第一次运行容器的时候,出现初始密码那里,后面接着就会显示你的GLOBAL_DBNAME和ORACLE_HOME,SID等 把当时的值复制过来就可以,我这里只缺了SID,所以我补上了SID

- 直接export赋值,这个操作只改变当前session的值,下次进入又会复原

ERROR: ORA-12162: TNS:net service name is incorrectly specified [oracle@oraclehost ~]$ echo $ORACLE_HOME /opt/oracle/product/19c/dbhome_1 [oracle@oraclehost ~]$ echo $ORACLE_SID [oracle@oraclehost ~]$ export ORACLE_SID=orcl [oracle@oraclehost ~]$ echo $ORACLE_SID orcl - 修改配置文件~/.bash_profile

ERROR: ORA-12162: TNS:net service name is incorrectly specified [oracle@d90999e88f74 ~]$ vi ~/.bash_profile —————————以下为.bash_profile内容————————————— —————————————————————————————————

[oracle@d90999e88f74 ~]$ source ~/.bash_profile (但是不知道为什么,我的电脑这样跑了下次再进来还是会被复原。。。TAT) UPDATE:写到~/.bashrc文件中再source一下就可以了,之后也不会再复原 2)

ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initorcl.ora' $ cp /opt/oracle/admin/ORCLCDB/pfile/init.ora /opt/oracle/product/19c/dbhome_1/dbs/initorcl.ora 3)

ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist $ sqlplus /nolog SQL> connect / as sysdba SQL> startup 4)另外遇到有报错需要修改listener.ora等配置文件的话,配置完成后需要重启服务

$ lsnrctl stop //停止服务 $ lsnrctl start //开启服务 $ lsnrctl status //查询服务状态

[参考]

www.oracle.com/database/te…www.jianshu.com/p/527a14f29…www.dbform.com/2019/05/06/…juejin.cn/post/684490…


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3